Skip to content

fix: stamp CFBundleVersion into app bundle and repo during build & release#13

Open
Copilot wants to merge 1 commit into
mainfrom
copilot/update-about-page-version
Open

fix: stamp CFBundleVersion into app bundle and repo during build & release#13
Copilot wants to merge 1 commit into
mainfrom
copilot/update-about-page-version

Conversation

Copilot AI commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

setup/setup.py had hardcoded CFBundleVersion/CFBundleShortVersionString ('1.0.0') that were never touched by the workflow, so every built .app reported the wrong version to macOS (Finder "Get Info", Spotlight, system dialogs). The in-app About dialog was fine since it reads APP_VERSION from core.py, which was already stamped.

Changes

  • Build job — "Stamp version into source": extends the Python stamping step to also patch CFBundleVersion and CFBundleShortVersionString in setup/setup.py before py2app runs, so the distributed .app bundle carries correct macOS metadata:

    p = pathlib.Path('setup/setup.py')
    text = p.read_text()
    text = re.sub(r"'CFBundleVersion': '[^']*'", f"'CFBundleVersion': '{ver}'", text)
    text = re.sub(r"'CFBundleShortVersionString': '[^']*'", f"'CFBundleShortVersionString': '{ver}'", text)
    p.write_text(text)
  • Release job — "Finalize version bump and tag": adds sed commands for setup/setup.py and includes it in the version-bump commit pushed to main.

  • Cleanup: removed the redundant src/syndi.py stamping — that file only imports APP_VERSION, never defines it, so those substitutions were no-ops.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants